package com.minis.beans.factory.support;

import com.minis.beans.factory.config.BeanPostProcessor;
import com.minis.beans.factory.config.SingletonBeanRegistry;

/**
 * 管理 Bean 的生命周期和配置，使得开发者能够更加灵活地控制 Bean 的创建、初始化、销毁等过程
 */
public interface ConfigurableBeanFactory extends
        BeanFactory, SingletonBeanRegistry {
    String SCOPE_SINGLETON = "singleton";
    String SCOPE_PROTOTYPE = "prototype";
    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
    int getBeanPostProcessorCount();
    void registerDependentBean(String beanName, String dependentBeanName);
    String[] getDependentBeans(String beanName);
}
